﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GoogleMapsApi2TestPage.aspx.cs" Inherits="DllShepherd.SilverlightGoogleMaps.Web.GoogleMapsApi2TestPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>DllShepherd's Silverlight Google Maps API 2</title>
    <style type="text/css">
    html, body {
	    height: 100%;
	    overflow: auto;
    }
    body {
	    padding: 0;
	    margin: 0;
    }
    #silverlightControlHost {
	    height: 100%;
	    text-align:center;
    }
    </style>
    <script type="text/javascript" src="Silverlight.js"></script>
        
    <!--For viewing Google Street View -->
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=YourGoogleApiKey" type="text/javascript"></script>
    <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            pan = new GStreetviewPanorama(document.getElementById("DllShepherd_GoogleStreetviewObject"));
            GEvent.addListener(pan, "error", StreetViewError);
        });

        var pan;

        //Edited original sample (simplified)
        function streetView(lat, lon) {

            var latlng = new GLatLng(lat, lon);
            var svp = new GStreetviewClient();
            svp.getNearestPanoramaLatLng(latlng,
                 function (newPoint) {
                     if (newPoint == null) {
                         //Street View Not Available For This Location (alerts just annoy me)
                         return;
                     }
                     document.getElementById("DllShepherd_GoogleStreetViewContainer").style.display = 'block';
                     panoramaOptions = { latlng: newPoint };
                     var myPov = { yaw: 180, pitch: 0 };
                     pan.setLocationAndPOV(latlng, myPov);

                 });
        }

        //Taken from sample
        function StreetViewError(errorCode) {
            if (errorCode == 603) {
                alert("Error: Flash doesn't appear to be supported by your browser");
                return;
            }
            if (errorCode == 600) {
                alert("Street View Not Available For This Location");
                return;
            }
        }
    </script>

    <script type="text/javascript">
        function onSilverlightError(sender, args) {
            var appSource = "";
            if (sender != null && sender != 0) {
                appSource = sender.getHost().Source;
            }

            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;

            if (errorType == "ImageError" || errorType == "MediaError") {
                return;
            }

            var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

            errMsg += "Code: " + iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError") {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") {
                if (args.lineNumber != 0) {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " + args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }
    </script>
</head>
<body>
    <div id="DllShepherd_GoogleStreetViewContainer" style="position:absolute;z-index:10;bottom:0px;right:0px; height: 325px; width: 300px;background-color:#888888;display:none;">
        <input type="button" style="position:relative;z-index:1000;height: 25px; width: 60px;left:180px;top:5px"
        value="Close" onclick="document.getElementById('DllShepherd_GoogleStreetViewContainer').style.display='none';"/>
        <div id="DllShepherd_GoogleStreetviewObject" style="position:relative;height: 290px; width: 290px;left:5px;top:5px"></div>
    </div>
    <form id="form2" runat="server" style="height:100%">
    <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
		  <param name="source" value="ClientBin/DllShepherd.SilverlightGoogleMaps.xap"/>
		  <param name="onError" value="onSilverlightError" />
		  <param name="background" value="white" />
		  <param name="minRuntimeVersion" value="4.0.50826.0" />
		  <param name="autoUpgrade" value="true" />
                <param name="windowless" value="true" />
		  		   <asp:Literal ID="ParamInitParams" runat= "server"></asp:Literal>
		  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">
 			  <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
		  </a>
	    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
    </form>
</body>
</html>
